#ifndef __STREAMFORCHANNEL_H__
#define __STREAMFORCHANNEL_H__

/////////////////////////////////////////Class IDs////////////////////////////////////////////

#define CLASS_ID_CSTREAMBASE 0x00000
#define CLASS_ID_CSTREAMFORCHANNEL 0x00100

/////////////////////////////////////////Raw Class////////////////////////////////////////////


class CStreamBase
{
public:
	CStreamBase(){};
	virtual ~CStreamBase(){};
	virtual unsigned long GetClassID(){return CLASS_ID_CSTREAMBASE;};
	static unsigned long CLASS_ID(){return CLASS_ID_CSTREAMBASE;};
};

class CStreamForChannel
{
public:
	CStreamForChannel(void){};
	virtual ~CStreamForChannel(void){};
	virtual int PushData(float* plChnl, float* prChnl, int nSamples) = 0;
	virtual unsigned long GetClassID(){return CLASS_ID_CSTREAMFORCHANNEL;};
	static unsigned long CLASS_ID(){return CLASS_ID_CSTREAMFORCHANNEL;};
};

#endif
